System and method of programmatic window control for consumer video players

ABSTRACT

A media playback device capable of displaying multiple streams simultaneously and with expanded picture-in-picture capabilities is provided. The placement, size, aspect ratio, cropping, scale, transparency, tint, contrast, and cropping of the media can be set or adjusted arbitrarily. Furthermore, the audio may be mixed between separate tracks accompanying the video streams and may also be set or adjusted arbitrarily. Each variable can be dynamically changed during playback through either automated or user-initiated means. A system and method are provided for simultaneously displaying a first video stream and at least a second video stream on a display comprising the steps of feeding the video streams into a video player; providing control of the display of the video streams; displaying a first video stream substantially across the display; and displaying the other video streams in a secondary display.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 60/475,340, filed Jun. 2, 2003, which is incorporated herein by reference in its entirety. This application is also related to U.S. Utility patent application Ser. No. ______ entitled “System And Method Of Interactive Video Playback” (Docket No. 54317-026701); U.S. Utility patent application Ser. No. ______ entitled “System And Method Of Dynamic Interface Placement Based On Aspect Ratio” (Docket No. 54317-026801); U.S. Utility patent application Ser. No. ______ entitled “System And Method Of Video Player Commerce” (Docket No. 54317-026901); and U.S. Utility patent application Ser. No. ______ entitled “Video Playback Image Processing” (Docket No. 54317-027101); all of which are filed concurrently herewith on Jun. 2, 2004, and incorporated by reference herein in their entirety.

BACKGROUND

1. Field

In general, the field of the invention relates to digital video control. Specifically, the field of the invention relates to picture in picture functionality in digital formats.

2. General Background and State of the Art

Interactive multimedia provides for a user to more fully appreciate a subject by exploring the varied multimedia resources available. Interactive multimedia includes the integration of text, audio, graphics, still image and moving pictures into a single, computer-controlled, multimedia product. The desire for interactive multimedia grows along with the desire for increasing data storage for these programs.

In one conventional application, interactive media is used as a learning tool for a user. The multimedia platform provides many advantages, including the ability to customize to the user's abilities and preferences. As a result, the user can control the path of the lesson. The multimedia lesson may direct the user through information or, alternatively, allow the user to explore the many facets on his own. By customizing the interface and levels of guidance for each user, the interactive multimedia program provides more effective learning. Interactive multimedia is not just limited to educational means; it may also be utilized for entertainment, presentations, and the like.

DVDs and other digital media players, such as high definition video players and software DVD-ROM, provide an increased amount of data storage and, thus, more avenues for media integration. Increased storage capacity translates into the ability to hold more information on a single disc or drive. In addition to increased storage capacity, this digital media can provide higher quality video and audio. Programming options include labeling segments of a film, wherein the user can select the segment for direct viewing. Often, these segments appear in an on-screen index available to the user from the top DVD menu or main menu screen. As a result, the user cannot select a desired scene without stopping the playing of the film and returning to the main menu screen.

DVDs are limited in that they cannot display at least two simultaneous streams of data throughout a transmission. Conventional systems allow for a user to select different angles during playing of the DVD. When an alternative angle is selected, display changes from a first angle to the selected angle. In order to view alternative angles, a menu or index is not available during the playing of the DVD. Once again, the user must return to the main menu to preview the various angles. During play, the user can toggle through the various angles by continuously pressing the “angle” button on a remote control. The user must continue to toggle through the angles until satisfied with a view currently displayed on the screen. As a result of not being subject to the different angles at all times, the user is unaware of other angles that may provide a better view through a different angle.

Attempts to display numerous streams of video and/or audio have had limited success. Many types of media have been employed to attempt to provide more viewing options for the user. CD-ROMs are one such conventional attempt. CD-ROMs are similar to DVDs, but have a much smaller capacity. With such a small capacity, streaming video utilizes a significant amount of storage. As a result, the ability to display a few streams of video simultaneously is limited by the amount of storage.

Conventional televisions provide the ability to view two channels simultaneously. This television feature is known as picture-in-picture. Picture-in-picture displays a primary television broadcast as usual on the television screen. A second television broadcast is overlaid on the primary television broadcast in a rectangular-shaped box substantially near the corner of the television display. The rectangular-shaped box is positioned such that it may be blocking a desirable portion of the first broadcast. The user does not have the option to reposition the box to another location on the screen. Additionally, the user cannot resize the box to become larger or smaller. Similarly, the aspect ratio of the box is predetermined and fixed. Essentially, the box is “static.”

The operating systems of personal computers utilize “windows” to display content. While the operating system windows provide some solutions to the static television picture-in-picture, conventional operating systems do not allow for simultaneous viewing of streaming data in sufficiently customizable “windows.” Each window is often the result of running a new program. The operating system is limited in its ability to provide multiple audio or video data streaming simultaneously in a plurality of customizable windows on the screen. Further, the use of windows on an operating system for a personal computer does not translate to a television viewing apparatus. A television cannot be readily adapted to provide windows similar to an operating system.

In viewing digital format, a user desires the ability to view simultaneous streaming audio and/or video, along with the ability to customize and manipulate the various media. More specifically, the user desires an ability to reposition streaming media on a screen, change the size of the streaming media on the screen, mix the audio of the streaming media with a primary transmission, use a “zoom” feature within the streaming media, crop the streaming media, alter the aspect ratio of the streaming media, choose a layering format for the various media, and modify the visual properties of the media such as transparency, tint, and contrast.

These conventional systems neither achieve nor teach the simultaneous viewing of interleaved audio and/or video streams with these desired features. Providing such a capability in a next generation of video playback devices will give consumers great freedom to customize their own viewing experiences. Additionally, improvements to the playback platform can also increase the ability of artists and content companies to provide innovative viewing experiences.

SUMMARY

A system and method of programmatic window control provides video playback devices with the ability to display multiple media streams simultaneously on the same screen. Video playback devices include, but are not limited to, DVD players, High-Definition video players, PC DVD-ROMs, and the like. The properties of the media streams can by dynamically and independently controlled either by user input or by programmatic means.

The present disclosure expands on the concept of picture-in-picture for video playback devices by providing such a format along with customizable features. The placement, size, aspect ratio, cropping, scale, transparency, tint, contrast, and cropping of the media can be set or adjusted arbitrarily. Furthermore, the audio may be mixed between separate tracks accompanying the video streams and may also be set or adjusted arbitrarily. Each variable can be dynamically changed during playback through either automated or user-initiated means.

In one embodiment, a first video stream and a second video stream are simultaneously displayed on a display. The first and second media streams are received by a media playback device comprising a processor. The first and second video streams are synchronized such that at least a portion of each of the video streams are displayed synchronously. The first video stream is displayed on the display, wherein the first video stream substantially extends across the display. The second video stream is optionally displayed in a customizable secondary display, wherein the second video stream has a playback synchronized to the playback of the first video stream. A third video stream may be provided to the media playback device and displayed in the customizable secondary display.

The at least one of the plurality of video streams may come from removable media such as a DVD or CD, or an Internet source, a personal computer, a hard drive, a LAN storage, or a server. The media playback device may be a DVD player, a personal computer, a home media server, a high definition video player, an optical player, a hard drive based player, or a software DVD-ROM player.

In one embodiment, the customizable secondary display is displayed by choosing a menu option, perhaps through the use of an input device such as a remote control. Descriptive text, such as the name of the menu item may be displayed on the customizable secondary display.

In one embodiment, the customizable secondary display can be resized or the aspect ratio can be altered. The aspect ratio of the at least a second video stream can also be altered. The first video stream can be swapped with one of the at least a second video stream, wherein the first video stream is displayed in the customizable secondary display and one of the at least a second video stream is displayed substantially across the display. The customizable secondary display can be repositioned to another location on the display. The at least a second video stream in the customizable secondary display can be replaced with the third video stream. The third video stream can be displayed in addition to at least a second video stream in the customizable secondary display.

The user can vary the audio properties of the first video stream and at least a second video stream. The secondary display can be resized to extend substantially across the display wherein the at least a second video stream overlays the first video stream. The user can change the customizable secondary display properties through a remote control, mouse, or keyboard, or gaming controller.

Another embodiment provides a system for displaying a first and a second video stream on a display, the system comprising a media playback device for receiving and playing the first and second video streams, wherein the first and second video streams are provided from a media source to the media playback device, and wherein the media playback device plays the first video stream on the display; the media playback device having a CPU and a media co-processor, wherein the CPU receives commands of a user and commands the media co-processor to display or modify the first and second video stream and the secondary display. The system further comprises a remote control, mouse, keyboard, or gaming controller to command the CPU. The system further comprises a cursor on the display to assist the user with modifying the properties of the secondary display. The system further comprises an executable file, wherein the CPU runs the executable file to modify the properties of the video streams and the secondary display. The executable file further comprises control data, the control data having customizable properties for the secondary display. The executable is embedded in at least one video stream. The executable file may be provided in a stream other than the first or second video streams.

Still another embodiment provides a method for a media playback device to display at least two video streams on a display, the method comprising the steps of receiving at least two video streams in a media interface of the media playback device; receiving an running an executable file in a CPU of the media playback device; checking by the CPU of the at least two video streams for metatags; receiving a command at the CPU from a user to modify at least one of the at least two video streams on the display; commanding a media co-processor to provide the modified at least one of the at least two video streams to an output buffer for display; maintaining alignment of at least two video streams based on the meta-tags; and optionally displaying an aligned at least a second of the at least two video streams on the display. A relative offset between the at least two video streams is maintained.

The foregoing and other objects, features, and advantages will become apparent form a reading of the following detailed description of exemplary embodiments thereof, which illustrate the features and advantages of the invention in conjunction with references to the accompanying figures.

DRAWINGS

The accompanying drawings, which are included to provide a further understanding and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles.

FIGS. 1 a-1 b are flow diagrams of the system according to an embodiment.

FIG. 2 is a display with a secondary display according to an embodiment.

FIGS. 3 a-3 d are displays with modified secondary displays according to an embodiment.

FIGS. 4 a-4 c are displays with modified secondary displays according to an embodiment.

FIGS. 5 a-5 b are displays with modified secondary displays according to an embodiment.

FIG. 6 is a display with a secondary display according to an embodiment.

FIGS. 7 a-7 b are displays with modified secondary displays according to an embodiment.

FIG. 8 is a display with a secondary display according to an embodiment.

FIGS. 9 a-9 b are displays with modified secondary displays according to an embodiment.

FIG. 10 is a display with a secondary display overlay according to an embodiment.

FIG. 11 is a display with a secondary display and audio mixing according to an embodiment.

DETAILED DESCRIPTION

The system and method add picture-in-picture functionality to media players. Specifically, the system and method apply to video players, including but not limited to DVD players, high definition video players, software DVD-ROM players, high definition video players, hard drive based players, optical players, personal computers, or any other media player known to one of ordinary skill in the art.

Referring to FIG. 1 a, a media playback device 100 receives at least two streams of media data. Optionally, the at least two streams of media data are streamed to the video player 100 such that the media data of a first data stream corresponds in timing to at least a second data stream. The data streams may be logically multiplexed data feeds or from multiple sources, or a combination of the two.

Data streams may be logically multiplexed data feeds, as illustrated by multiplex data feed 45. Multiplex data feed 45 is a combination of data feeds 10, 20, 30, 40 encoded in the same data feed 45. Data feeds 10, 20, 30, 40 may be transmitted from a CD, CD-ROM, DVD, DVD-ROM, television cable provider, or other data storage or transmittal device known in the art for providing multiple data streams. In an exemplary embodiment, a high definition video player contains a movie along with an additional four multiplexed video and audio tracks. These additional four multiplexed video and audio tracks contain scenes and additional material. The four multiplexed video and audio tracks are timed to match related content in the movie playing from the main video stream. Multiplexed data feed 45 may communicate with video player 100 through wireless means or a wired network.

Simultaneously, an audio and/or video feed from the Internet 50 may be transmitting to video player 100 from an Internet source. The Internet source includes a personal computer, personal media player, or other device known in the art for transmitting data from the Internet. The Internet source may communicate with video player 100 through wireless means or a wired network.

Additionally, a home media server may transmit video streams 60, 70 to video player 100. The home media server may contain a mixture of audio and video formats of movies, songs, or other multimedia to be transmitted in streams 60, 70. The home media server may communicate with video player 100 through wireless means or a wired network.

A media playback device has a host CPU or processor 115, a media interface 105, a media co-processor 110, and an output buffer 125. Media interface 105 receives the various streams of media. The media may be multiplexed or separate streams. The media stream may also include an executable file. The executable file contains logic for placement of video streams on the display, resizing, demultiplexing video streams, and other functions known to one of ordinary skill in the art. The executable file is provided to CPU 115 via a control stream.

The executable file utilizes control data, which may be embedded on the video player, on the media, or from an alternative source, such as the Internet or a home media server. The executable file is optionally resident on the media. The executable file may also be loaded from an external storage media, embedded in firmware, burned into the logic on a dedicated computer chip, or received from a separate media stream. For example, the executable file may be provided via the internet 80 or a server 75, LAN storage 85, hard or floppy disk, CD or DVD, memory card, or other conventional means of storing and providing data. When the executable file is not resident on the media, the executable file goes directly to CPU 115, rather than through media interface 105.

CPU 115 executes the code in the executable file. CPU 115 analyzes timing, synchronization, and display properties of the streams, as well as application logic and user input. Display properties include scale, alpha transparency, position, rotation, etc. CPU 115 checks for time code, embedded metadata, and markers. The CPU also accesses video memory, enabling the system to arbitrarily insert graphics and text. In one embodiment, the CPU commands the system to send force feedback information to a gaming controller. The gaming controller might shake or vibrate corresponding to action on the screen.

The user may instruct CPU 115 through a remote control 90. Remote control 90 sends messages via infrared, internet protocols, or other control stream. Remote control 90 may be a conventional remote control, mouse, keyboard, or a gaming controller. CPU 115 receive commands from the user and makes logical decisions concerning the video streams.

The video streams are provided from media interface 105 to media co-processor 110. Media co-processor 110 receives commands from CPU 115 through media application program interfaces. Media co-processor 110 composites the video streams according to the instructions by CPU 115 and sends them to output buffer 125 for video output on display 120. Media co-processor 110 comprises hardware and software, although may function only as software. In another embodiment, media playback device 100 comprises several decompressors for the various video streams.

In one example, DVD media provides four video streams and an executable file to the media interface. The media interface sends the CPU the executable file and sends the video streams to the media co-processor. When the user uses the remote control to choose a secondary video stream to be displayed, the CPU sends a command to the media co-processor to display both video streams one and two in the format provided. The CPU also ensures synchronization of the streams. The composited image is sent to the output buffer, which has sufficient memory to provide a synchronized video output without any breaks due to user commands.

The media playback device ensures synchronized playback of video streams. Referring to FIG. 1 b, a media playback device 101 receives a plurality of video streams 124, 134, 144. Each video stream comprises three components: a video asset, an audio asset, and a time asset. Video stream 124 comprises video asset 125, audio asset 126, and time asset 127; video stream 134 comprises video asset 135, audio asset 136, and time asset 137; video stream 144 comprises video asset 145, audio asset 146, and time asset 147. CPU 116 of media playback device 101 processes the metadata of video streams 124, 134, 144. The metadata may be within each video stream or provided in a separate stream to media playback device 101. As video streams 124, 134, 144 maintain relative offset based on their metadata, the CPU aligns the metadata such that a media co-processor 111 can provide video streams 124, 134, 144 in a synchronized fashion. Video streams 124, 134, 144 may contain content of varying lengths. CPU 116 aligns video and audio assets 125, 126, 135, 136, 145, 146 of varying length and media co-processor 111 sends arranged video and audio content to the display for viewing.

In one exemplary embodiment, video and audio streams 125, 126 are received at a time within its playback of 1:12:68. Video and audio streams 135,136 are received at a time within its playback of 1:15:22. Video and audio streams 145, 146 are received at a time within its playback of 1:20:05. The logic in the executable maintains synchronization of the streams along playback. As one stream advances during playback, all other streams advance at a rate to maintain synchronization. Such a feature becomes desirable when streams are received from separate sources and are difficult to properly synchronize from the start. Media co-processor 111 receives the streams and maintains the relative offset for the various streams without any frame drift.

The media playback device presents a menu to the user during the operation of media. This menu may be presented before or during playback of the media. Upon a depression of a button on a remote control, joystick, or keyboard, a click on a mouse, or other activation through a remote device, an on-screen menu 50 is displayed.

The media co-processor provides the video streams for display. The CPU commands the control program to display certain streams as well as a graphic display to accompany the video streams. The display of the multiple data streams may be in a secondary display on the screen. The secondary display may be a rectangular-shaped arrangement of the multiple video streams.

The media playback device coordinates a layout of the secondary display. The media playback device may assert control either through direct control of the media playback device's video display buffer or, alternatively, through coordination of dedicated graphics hardware. In response to a user's command or according to programming, the CPU commands the media co-processor to show, hide, resize, reshape, move, or reposition any of the streaming data under its coordination. Due to the processing of the video streams, display properties can be changed on the display through arbitrary means and at the video frame-rate, thus not displaying any visible video display artifacts or frame drift.

The CPU can modify the video streams based on input. In an exemplary embodiment, the video streams may be rearranged within the display. Referring to FIG. 1 a, in another exemplary embodiment, data feeds 10, 20, 30, 40 are provided from a DVD. However, upon an input, the media playback device displays home media video stream 60. Home media video stream 60 may be display in addition or in the place of any or all of data feeds 10, 20, 30, 40. This input can come in the form of user-initiated input or through a stream or token of control data. User-initiated input may be provided through the use of a mouse, remote control, or other similar device known to one of ordinary skill in the art wherein user commands are transmitted from the input device to control program of the media playback device.

The embedded code or control data for providing arrangement and modification of the secondary display may be located within the executable file in the media playback device, within the video stream, or from an external source such as the Internet or a server. In one embodiment, control data in the executable file is placed within the video data. As the video plays, control data of the executable file streams into the media interface. This particular embodiment has the ability to store control data within the video streams, instead of storing the control data on the video player or transmitting from an external source. As a result, each video may have highly customized control data for that application, such as a particular brand name or logo, or a design theme that coordinates with the subject matter of the video. The control data may also be loaded separately from the executable file, preloaded, or streamed into the control program from remote sources or non-volatile storage media.

In an alternative embodiment, the display properties of the video streams are determined by control data in a separate stream. During playback, the control data streams through CPU to drive the arrangement and display properties. In one embodiment, before playback of a movie, a media playback device with access to the Internet is connected to a server that streams synchronized control data. The control data may be supplied in the streaming media by the creators of the streaming media. As the video plays, the control data provides customized applications for the executable file to allow the CPU to rearrange, zoom, and resize the video material to create an animating, optimized, high-quality presentation of the combined video streams.

The media playback device allows for an on-screen menu to appear. The user can view the menu through activation by a mouse-click or by depressing a button on the remote control. The on-screen menu provides a plurality of options. One such option may be to view alternative angles of a movie or a documentary of the making of the movie. By selecting this option, the user is enabling “Multi-View Mode.” Alternatively, the selection of Multi-View Mode might be enabled by pressing a particular button on a remote control. For example, a button labeled as “Multi-View” may activate any available multiple video streams available to the user. Multi-View Mode may be activated at any point during playback of the video. In order to select other options or features, the user may activate the menu during playback of the video, rather than returning to the main menu. As the main video plays and upon activation of Multi-View Mode, the CPU commands the media co-processor to show a second video stream with accompanying graphics. On the display, a secondary display in the lower left corner appears. Within the secondary display is at least one other video stream besides the main video.

Referring to FIG. 2, a movie 210 is playing on a display 200. A user selects “Documentary” from an on-screen menu. In the lower left corner is a secondary display 220. Secondary display 220 may be placed in the lower left corner as a default position. Secondary display 220, although appearing in the lower left corner, may appear anywhere on the screen. Secondary display 220 contains streaming video tracks 221, 222, 223, 224. Streaming video tracks 221, 222, 223, 224 may include “behind the scenes” footage, video that provides a basis for the scene, an alternative angle of the scene, commentary, or any other video that could be used to enhance the experience of the user.

Video tracks 221, 222, 223, 224 appear to play over the main video, in graphically defined “windows.” Substantially surrounding and between each streaming video track 221, 222, 223, 224 is a graphic design of a window or border 230. Secondary display 220 also contains the chosen menu option, in this case, Documentary 240. Optionally, a marking or text 250 may appear in the corner of display 200 during all of playback to indicate that a menu or options are available to a user.

The graphical images do not exist in the video stream, but are drawn dynamically around the scaled video streams by the media co-processor. The media co-processor draws images unrelated to video into the display buffer of the media playback device. Such images include, but are not limited to, a design substantially around the streaming video, text of instructions, or text of a brand name. The images drawn into the display buffer may serve as a guide to using the multiple feeds or as an aesthetical enhancement for the multimedia experience. Border 230, Documentary 240, and marking 250 are examples of such images drawn into the display buffer.

The drawings for secondary display 220 are based on generic layouts and templates. The generic layout may comprise only border 230 and places secondary display 220 in the lower left corner. The template arranges the video streams such that a first data feed is viewed in a first “window,” a second data feed is viewed in a second “window,” and so on. Either the generic layout or a customized layout defined in the control data may also include the menu item chosen 240 and marking 250. Any images, designs, text, or other custom programming may be present along with the four tracks appearing in a secondary display on the display. In one embodiment, a layout and template includes user functions associated with a remote control that appear substantially below each video stream to provide on-screen options for the user.

Using the remote control or mouse, the user may select an additional track or video stream to be switched with the main video appearing on the display. Referring to FIG. 3 a, a first video 310 appears on display 300. Within a secondary display 320 is a second video 330. When the user watching display 300 sees something of interest in secondary display 320, the user presses a button on the remote control or mouse to swap first video 310 and second video 330. As a result, referring to FIG. 3 b, second video 330 appears full-screen on display 300 and first video 310 appears in secondary display 320.

The user may also swap the additional tracks within the secondary display. Referring to FIGS. 3 c and 3 d, a secondary display 320 is shown in a display 300. The user watching display 300 may swap a second video 340 with a third video 350. Similarly, the user may decide to view a fourth video 360 rather than second video 340. Second video 340 may be deselected. Third video 350 may replace the location of second video 340 in secondary display 320. As a result, the user can customize the secondary display to show only those desired video streams.

One function is the ability to show and hide any or all of the streaming video. Referring to FIG. 4 a, a first video 410 is playing on display 400. A user may then decide either to activate Multi-View Mode in order to show a second video stream. Referring to FIG. 4 b, upon activation of Multi-View Mode or by commanding to show a second video stream, a secondary display 420 appears containing a second video 430. Secondary display appears on display 400 and over first video 410. A user may then choose to display a third video stream. Referring to FIG. 4 c, upon activation of a third video stream, a third video 440 appears in secondary display 420. The user may decide to show any or all of the available video streams.

Alternatively, the user may decide to hide any or all of the streaming video. Referring to FIG. 5 a, a first video 510 is playing on a display 500. A second video 530 is playing on a secondary display 520. Referring to FIG. 5 b, upon the deselection of Multi-View Mode or by selecting not to view the streaming video of second video 530, the secondary display and its contents, i.e., second video 530, are no longer displayed on display 500.

The user may guide a cursor around the video screen using a remote control, mouse, pointer, or other device known to one of ordinary skill in the art for directing an object on a screen. The cursor can be used for relocating or resizing the secondary display. The cursor may also be utilized for selecting an option or video within the secondary display. The cursor may appear as an arrow or any other shape. In one embodiment, the shape of the cursor relates to the theme of a movie. In an alternative embodiment, the cursor may substantially highlight an on-screen button or video.

Unlike conventional picture-in-picture displays, the user can customize the dimensions of both the primary and secondary displays, rather than choosing only a small or large display. By stretching or adjusting the display, the user resizes the video stream displays to any desirable size.

The user can resize a video in the secondary display through the use of the cursor or by other means. Referring to FIG. 6, a secondary display 610 is shown with a second video 630 in addition to main video 605 on display 600. A user may click on the second video 630 or a border 620 of secondary display 610 in order to resize second video 630. Upon selecting border 620 or second video 630, a visual marking 640 indicates that the second video may be resized within display 600. By moving the cursor, remote device, or through use of buttons on the remote device, the user may resize the second video to a desired size. Referring to FIGS. 7 a and 7 b, a secondary display 710 with a second video can be enlarged or made smaller within display 700. As the cursor moves, the window resizes smoothly along with the cursor movement. Resizing second video 630 can be done during playback of second video 630 and main video 605 without pausing. As a result, a user can experience both streaming videos to enhance their viewing experience.

In a similar function to resizing the secondary display, a user can reshape the secondary display by changing the aspect ratio. By expanding more or less in a horizontal or vertical direction, the user can manipulate the secondary display to better suit the second video in the secondary display or to block less content in the main video. The aspect ratio of the second video changes along with any changes to the aspect ratio of the secondary display, even though it may appear to distort certain images.

The media playback device provides yet another function to allow the user to customize the view of the secondary display. In one embodiment, changing the aspect ratio does not affect the second video. The only part of the second video that would be viewed would be the section still viewable after resizing the secondary display. The user can crop at least one side of the secondary display to make a portion of the second video not viewable. The second video continues to play as usual, but the cropped portion is not viewable on the display. The aspect ratio of the second video is not altered.

Upon selecting the secondary display, the user can also choose to move the secondary display to another location on the screen. Referring to FIG. 8, a secondary display 820 on display 800 has been repositioned from the lower left corner to a position that is more centrally located. A user may desire this function to view the contents of a first video 810 in the lower left corner. Alternatively, the user may desire to position the secondary display 820 so that it is easier to view.

Referring to FIGS. 9 a and 9 b, a secondary display 920 is positioned in the lower left corner of display 900, although secondary display 920 may be positioned at any location on the screen and moved to any location. Upon deciding to reposition secondary display 920, the user selects the secondary display 920 and guides it with a cursor to the desired location. Throughout the movement from the first position to the second position, the secondary display moves smoothly and the video within the secondary display continues to play. In order to reposition the secondary display, the user is not required to pause or stop the main video or those video streams in the secondary display.

The visual properties of the video streams in the secondary display may be adjusted arbitrarily by the user. Such adjustable visual properties include, but are note limited to, contrast, tint, or color. A user may adjust these properties similar to the methods of adjusting the properties of a television or computer monitor. Controls are available through an on-screen menu and/or use of a remote control with programmed buttons.

The control program may also define color key or luminance values for each of the video streams. This give the user the ability to composite video streams against each other, allowing for bluescreen-type overlays. The user maximizes the size of the secondary display to completely overlay the first video. Referring to FIG. 10, a second video 1020 from a secondary display is maximized over a first video 1010 on display 1000. First video 1010 contains a mountain view or background subject matter and becomes the background plate. Second video 1020 contains only a person. By overlaying second video 1020 over first video 1010 and utilizing the bluescreen-type overlay, it appears as though the person of first video 1020 is in the scene of first video 1010. This feature may be desired, for example, if a user would like to create a movie scene or understand the process for creating such a scene. By swapping one of the videos, the user can see a different subject in the scene or the subject in a different scene. In an alternative embodiment, further audio and video streams may be used for a multi-layered overlay.

Alpha, or transparency control, over the video streams allows the media playback device to perform dynamic smooth fade transitions and effects. The user may decide to have one alpha transparent video stream overlaying another video stream. Additionally, this feature allows for one video stream to fade away or into the display.

The media playback device may also be receiving streaming audio tracks in addition to the audio that streams along with the video. The system allows the user to edit and mix the audio that streams into the video player. At the user's command, the system can place a variety of graphic, interactive interfaces on a display. Referring to FIG. 11, a secondary display 1110 is shown on a display 1100. Secondary display 1110 has four streaming video feeds 1111, 1112, 1113, 1114 in addition to the main video 1115. Upon selecting to mix the audio on a remote device, the user is presented with a series of slider bars 1121, 1122, 1123, 1124, 1125 to mix the audio levels of five distinct audio tracks. Slider bars 1121, 1122, 1123, 1124, 1125 correspond to video feeds 1111, 1112, 1113, 1114, 1115, respectively. The user can then adjust the volumes of each audio track for any or all of the video feeds.

While the invention has been described in detail and with reference to specific embodiments thereof, it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof. Thus, it is intended that the disclosure cover the modifications and variations provided they fall within the spirit and the scope as described herein. 

1. A method of simultaneously displaying a first video stream and at least a second video stream on a display, the method comprising the steps of: receiving the first video stream and the at least a second video stream at a media playback device; processing the at least two video streams to synchronize the display of portions of the at least two video streams; displaying a first video stream on the display, wherein the first video stream substantially extends across the display; and optionally displaying at least a second video stream in a customizable secondary display, wherein the at least a second video stream in the customizable secondary display has a playback synchronized to the playback of the first video stream.
 2. The method of claim 1, further comprising the step of feeding a third video stream into a media playback device and displaying the third video stream in the customizable secondary display.
 3. The method of claim 1, further comprising the step of choosing a menu item that provides for the viewing of the customizable secondary display.
 4. The method of claim 4, further comprising the step of displaying the name of the menu item on the customizable secondary display.
 5. The method of claim 1, wherein the at least one of the plurality of video streams come from a DVD, CD, an Internet source, a personal computer, a hard drive, a LAN storage, or a server.
 6. The method of claim 1, wherein the media playback device is a DVD player, a personal computer, a home media server, a high definition video player, an optical player, a hard drive based player, or a software DVD-ROM player.
 7. The method of claim 1, further comprising the step of resizing the customizable secondary display.
 8. The method of claim 1, further comprising the step of altering the aspect ratio of the customizable secondary display.
 9. The method of claim 1, further comprising the step of altering the aspect ratio of the at least a second video stream.
 10. The method of claim 1, further comprising swapping the first video stream and one of the at least a second video stream, wherein the first video stream is displayed in the customizable secondary display and one of the at least a second video stream is displayed substantially across the display.
 11. The method of claim 1, further comprising the step of repositioning the customizable secondary display to another location on the display.
 12. The method of claim 2, further comprising the step of replacing the at least a second video stream in the customizable secondary display with the third video stream.
 13. The method of claim 2, further comprising the step of displaying the third video stream in addition to at least a second video stream in the customizable secondary display.
 14. The method of claim 1, further comprising the step of varying the audio properties of the first video stream and at least a second video stream.
 15. The method of claim 7, wherein the secondary display is resized to extend substantially across the display wherein the at least a second video stream overlays the first video stream.
 16. The method of claim 1, further comprising the step of changing the customizable secondary display properties through a remote control, mouse, or keyboard, or gaming controller.
 17. A system for displaying a first and a second video stream on a display, the system comprising: a media playback device for receiving and playing the first and second video streams, wherein the first and second video streams are fed from a media source to the media playback device, and wherein the media playback device plays the first video stream on the display; the media playback device having a CPU and a media co-processor, wherein the CPU receives commands of a user and commands the media co-processor to display or modify the first and second video stream and the secondary display.
 18. The system of claim 17, further comprising a remote control, mouse, keyboard, or gaming controller to command the CPU.
 19. The system of claim 17, further comprising a cursor on the display to assist the user with modifying the properties of the secondary display.
 20. The system of claim 17, further comprising an executable file, wherein the CPU runs the executable file to modify the properties of the video streams and the secondary display.
 21. The system of claim 20, wherein the executable file further comprises control data, the control data having customizable properties for the secondary display.
 22. The system of claim 20, wherein the executable is embedded in at least one video stream.
 23. The system of claim 21, wherein the executable file is provided in a stream other than the first or second video streams.
 24. A method for a media playback device to display at least two video streams on a display, the method comprising the steps of: receiving at least two video streams in a media interface of the media playback device; receiving an running an executable file in a CPU of the media playback device; checking by the CPU of the at least two video streams for metatags; receiving a command at the CPU from a user to modify at least one of the at least two video streams on the display; commanding a media co-processor to provide the modified at least one of the at least two video streams to an output buffer for display; maintaining alignment of at least two video streams based on the metatags; and optionally displaying an aligned at least a second of the at least two video streams on the display.
 25. The method of claim 24, further comprising the step of maintaining a relative offset between the at least two video streams.
 26. A method of simultaneously displaying a first video stream and at least a second video stream, comprising: receiving the first video stream at a video playback device; receiving the at least second video stream at the video playback device; synchronizing at least a portion of each of the two video streams; displaying the first video stream, wherein the first video stream substantially extends across the display; and optionally displaying the second video stream in a customizable secondary window, wherein the at least a second video stream in the customizable secondary window is synchronized to the playback of the first video stream. 